home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
win_utl2
/
pspa370a.zip
/
CHANGE.DOC
< prev
next >
Wrap
Text File
|
1996-04-26
|
18KB
|
356 lines
===============================================================================
========================== ============================
========================== VERSION HISTORY ============================
========================== ============================
===============================================================================
For easy reference, this history is presented in reverse order (most
recent version first). Remember: if you have previously registered
Parse-O-Matic, you can self-register any evaluation copies we create
for two years (six years for deluxe registration). Thus, your small
investment in the initial registration can provide you with many
free updates. Since we do not automatically ship new versions, we
encourage you to drop by our BBS (514-345-8654) every few months, or
visit our Web site (http://www.cam.org/~pinnacl) to see what's new.
+------------------------- WE ARE CUSTOMER-DRIVEN! ---------------------------+
| |
| Most of the enhancements to Parse-O-Matic are inspired by POM users. |
| We charge a nominal fee for custom work, but we will usually provide |
| a discount if the requirement seems to be beneficial to other users. |
| |
| ******* PARSE-O-MATIC'S EVOLUTION IS GUIDED BY OUR CUSTOMERS ******* |
| |
+-----------------------------------------------------------------------------+
------ ------------------------------------------------------------------------
VER. WHAT'S NEW IN THIS VERSION
------ ------------------------------------------------------------------------
3.70A New commands
CVTCASE converts a variable to uppercase or lowercase
GETENV obtains a system environment variable (e.g. PATH)
MSGWAIT controls the behaviour of error messages
REMAP transforms sub-strings into other strings
MAPFILE reads a file containing data transformations for REMAP
Enhancements to PARSE, PEEL and FINDPOSN
Search strings (e.g. "2*,") are now known as decapsulators
Overlapping decapsulators now behave more gracefully
PARSE and PEEL return an empty string; FINDPOSN returns "0"
This situation used to generate an error message
i.e. "From" value exceeds "To" value
Most users found this unhelpful or confusing
For details, see "Overlapping Decapsulators" in the manual
New search parameter looks for "last occurence" or "first occurence"
Example of "last occurence": PARSE xyz $FLINE ">*$" ">*.00"
Example of "first occurence": PARSE xyz $FLINE "<*$" "<*.00"
Documentation
Improved quick-reference section
The "importable" version has moved from EXAMPL04.POM to QUICKREF.POM
------------------------
IMPORTANT UPGRADE NOTICE
------------------------
This notice concerns you if:
- You have created POM applications that are run unattended
- You use the HALT command
(See "Unattended Operation" and "The HALT Command" in the manual)
Since version 3.20, error messages would "time out" after sixty seconds
(or when a key was pressed), whereupon Parse-O-Matic would terminate.
Parse-O-Matic now waits for permission to continue if an error occurs.
You can control this behaviour with the new MSGWAIT command (see "The
MSGWAIT Command" in the manual).
To make Parse-O-Matic behave as it did before (i.e. timing out sixty
seconds), add this line to your POM file: MSGWAIT "60"
If you simply want to make your HALT commands work the same way (i.e.
allowing them to time out after about a minute), insert MSGWAIT "60"
prior to each HALT command.
------ ------------------------------------------------------------------------
VER. ENHANCEMENTS IN PREVIOUS VERSIONS
------ ------------------------------------------------------------------------
3.61A Added inline decrement (e.g. SET y = x-)
LOG command now allows two additional (optional) values
Rationalized null specs and empty fields in Parse, Peel and FindPosn
Customers were using these in creative ways that we had not foreseen
We have taken these into account and fully documented the behaviour
See "The Null Decapsulator", "Left-Peeling" and "Insoluble Searches"
Minor improvements to the processing display
3.60A New commands
MAKEDATA converts text data to binary
MAKETEXT converts binary data to text
ZERODATE initializes the date for serialized date format
GET reads variable-length records and delimiter-terminated data
GETTEXT combines functions of GET and MAKETEXT commands
AGAIN allows you to return to an earlier BEGIN comparison
Enhancements
CHOP now allows manually-controlled reading (via the GET command)
Read-only files are opened as such, avoiding sharing problems on LANs
Improved appearance of trace logs
Hexadecimal literals (e.g. $39$34 means "94")
Utilities
SHOWNUM.EXE: reference tool converts decimal to hex and vice-versa
DEVELOP.BAT: simple interactive development environment (IDE)
Documentation
New material added for the READNEXT and LOOKUP commands
Several new sections about techniques and operational planning
Additional material about running Parse-O-Matic under Windows
Improved file-handling
OFILE now adds the default extension, if necessary
In 3.50, OFILE "XYZ" would not automatically add the .TXT extension
The default extension routine is no longer "fooled" by ..\ or .\
Earlier, a file name like ..\XYZ would not get the default extension
Problems fixed
Fixed "FRAME-UUI" problem affecting Quiet mode
Fixed routine to search through DOS PATH for "missing" files
3.50A Corrected a bug in the LOOKCOLS command (affected Parse-O-Matic v3.4x)
It would set the "Key-End" value to the last number listed in LOOKCOLS
It would set the "Data-Start" and "Data-End" to defaults (12 and 255)
New commands
ERASE deletes a file
OUTPAGE sends a page eject to the output file (or device)
PAUSE delays the specified number of milliseconds
OFILE switches between output files
You can overwrite a file or append (add to the end)
See "How Parse-O-Matic Opens an Output File" in the manual
The append feature is also available at the command-line level
Enhancements
Processing display now shows input and output in appropriate units
Input units (Bytes or Records)
Output units (Bytes or Lines)
Additional information in "processing completed" line in POMLOG.TXT
It now specifies the amount of output (in bytes or lines)
Output can now be sent to a generic device (e.g. COMx or LPTx)
See "Sending Output to a Device" in the manual
Documentation
New "File Handling" section in the manual (POM.DOC)
------------------------
IMPORTANT UPGRADE NOTICE
------------------------
POM now creates the output file ONLY when it first receives output
See "How Parse-O-Matic Opens an Output File" in the manual for details
If the output file does not receive any output...
If it did not previously exist, it will not be created
If it already existed, it will contain the old data
To ensure old data is gone...
Delete the output file before running Parse-O-Matic, or ...
Use the ERASE command in the PROLOGUE
3.41B PEEL reports precise nature of certain impossible parsing situations
3.41A Fixed trimming problem affecting PEEL when using "null" delimiter
3.40 New commands
DATE and TODAY provide date formatting, in any language
MONTHNUM converts text month to numeric month, in any language
COPY copies a variable from one character position to another
DELETE removes selected characters positions from a variable
EXTRACT moves selected characters from one variable to another
FINDPOSN locates the position of a string in another
Enhancements
All control files (including POM) are searched for, if necessary
If a directory is explicitly specified, POM looks there only
Otherwise, POM searches logged dir, POM's dir, then the DOS PATH
This makes it easier to build a library of standard files
INSERT now allows "insert to left" and "insert to right"
Automatic numeric comparators
The old method used text comparisons, which required pre-padding
Comparisons automatically determine if number is real or integer
CALC and CALCREAL now explicitly report "divide by zero" attempts
User manual reformatted for easier reference
Explanations of commands are preceded by an improved overview
Problems fixed
There were no problems reported in the last release
3.31A Numeric command parameters are now more forgiving
Spaces, tabs and commas are removed
3.30A New commands
LOG command writes a message to the log file POMLOG.TXT
HALT command allows termination with a DOS errorlevel
CALC command performs integer arithmetic functions
CALCREAL command performs decimal arithmetic functions
EPILOGUE command defines code to be run before input is processed
PROLOGUE command defines code to be run after input is processed
Enhancements
Optional MINLEN setting controls the READNEXT command
Tracing no longer shows code inside skipped BEGIN/ELSE/END blocks
Increased variable name length from 8 to 12
Increased number of DBF fields from 50 to 100
Increased maximum line length in look-up files from 80 to 255
Increased maximum number of POM lines from 500 to 750
This does not include comment lines
Lookup file (LOOKFILE) is now searched for in various directories
If a directory is explicitly specified, POM looks there only
Otherwise, POM searches logged dir, POM's dir, then the DOS PATH
Restructured tutorial for easier reference
New deluxe registration provides 6 years of new version registration
Three times the standard benefit, but only twice the price
Problems fixed
Clustered ACCEPTs inside "false" code blocks were sometimes executed
Some error reporting caused problems on extremely large POM files
Ran out of file handles if you had a large number of input files
Incomplete trimming of multiple character delimiters in PEEL
3.21A Custom version; not released to public
3.20A Parsing of multiple input files into one output file
DOS wildcards are now permitted in POM command for input file name
For example: POM XYZ.POM *.TXT OUTPUT.TXT
New NEXTFILE command skips to next input file
New predefined variable $COMMAND, showing current POM command
New PEEL command
Works like PARSE, but removes parsed text from source variable
New SOUND command
Sets error-message sound or generates a sound
The DONE and READNEXT commands now have optional comparisons
For example: DONE x = y
Restructured example files as an interactive tutorial
Enhancements for unattended operation
Log file (POMLOG.TXT) records processing, and any errors
Error and warning messages pause for a minute, then the program ends
Fixed problem with ELSE statements nested two deep
3.11A DBF file enhancements
Improved reporting of DbF fields when tracing
Corrected data alignment error that affected some DbF files
3.10A New ELSE command
Allows BEGIN/ELSE/END blocks
New READNEXT command
Reads next line from input file, maintaining current place in POM file
New SETLEN command
Sets a variable to the length of a value (e.g. "XYZ" is length "3")
New DONE command (useful only in BEGIN/ELSE/END blocks)
Jumps to the end of the POM file; equivalent to IGNORE "X" = "Y"
New ~ comparator ("does not contain")
PARSE returns a null value if given impossible parsing task
Example: PARSE x "FRED/MARY" "1*/" "2*/" (problem: no second slash)
Maximum number of variables and literals increased to 1000 (was 225)
3.00A New PARSE command
You can now parse free-form data (including comma-delimited files)
New APPEND command
Allows you to concatenate up to four values
Data in output buffer (via OUT) is now flushed at end of input file
You can now use POM to create binary and fixed-record-length files
Varied comparators (equals, not equals, less than, contains, etc.)
Affects the commands IF, IGNORE, ACCEPT, BEGIN, OUT[END]
For example: IF x > y THEN z = "YES"
-------------------------------------------
CHANGES REQUIRED IN YOUR EXISTING POM FILES
-------------------------------------------
This notice involves a change in the behaviour of IGNORE and ACCEPT.
With the addition of varied comparators, you may have to change some of
your old POM files. The IGNORE and ACCEPT commands were considered
"true if the string contains the specified text". In other words, they
performed a "contains" comparison rather than an "equals" comparison.
(IF, BEGIN and OUT[END] used an "equals" comparison.) IGNORE and ACCEPT
now default to an "equals" comparison.
There are two situations in which you must modify an IGNORE or ACCEPT:
(1) If you padded the line with "=" (for clarity or aesthetics), yet
you meant "contains", the line should be changed. For example:
IGNORE $FLINE[1 10] = "YES" (old style, using "=" for clarity)
IGNORE $FLINE[1 10] ^ "YES" (new style, using "contains" symbol)
(2) If you omitted the "=" character, and you want to do a "contains"
comparison, you must insert the "contains" symbol:
IGNORE $FLINE[1 10] "YES" (old style, stated tersely)
IGNORE $FLINE[1 10] ^ "YES" (new style, using "contains" symbol)
If you are comparing two strings of equal length, there is no need to
modify an IGNORE or ACCEPT. For example: IGNORE $FLINE[1 3] "YES"
will continue to work properly, since either a "contains" or "equals"
comparison will produce the same result.
2.71B Fixed SPLIT bug
POM quit early if file length was an exact multiple of 32767
2.71A Added PROPER command
Updated manual to explain licensing options
2.70C Minor fix to unregistered (trial copy) reminder
2.70A POM can now read DBF (DBase) files directly
New ASCII literals (using the # character)
New TRACE, OUTHDG and PAGELEN commands
Documented the /Q command-line switch
User manual expanded to 30 pages; new examples (walk-throughs) provided
2.60 New BEGIN and END commands (blocked "IF" operations)
Command lines may now be indented for clarity
New predefined variable $SPLIT
This indicates which CHOP or SPLIT segment you are on (1, 2, 3 etc.)
New look-up processing
New LOOKUP, LOOKSPEC, LOOKCOLS, LOOKFILE commands
New /L start-up option
Improved error detection and reporting
Comparison operation is now optional for OUT and OUTEND
2.52 Added new symbol $TAB; fixed operation of $BRR and $BRL
New provisions for international registration
2.51 Fixed Program Error MV-P-2 caused by padding with tabs instead of spaces
2.50 CHOP command breaks up fixed-length (non-text) files
User manual restructured and partially rewritten
2.40 SPLIT command breaks up long (over 255 characters) input lines
2.33 New /Q (quiet) function: type POM /? for explanation
Fixed bug: long output lines (>255) occasionally would lose some text
2.32 Fix to CHANGE to correct lock-up when matching single-character string
Added registration via credit card
Added new version of SEE to allow full browsing of wide documents
While tracing, processing display now shows precise line number
2.31 MINLEN now supports zero-length lines
Default MINLEN is, however, still "1"
2.30 Output (via OUT and OUTEND) can now be more than 255 characters
However, no individual OUT or OUTEND can output a line longer than 255
New commands: PAD, INSERT
Ease-of-use changes
More informative processing display
Variable names are no longer case sensitive
Improved error checking
Added another example to documentation
2.20 Provided 2-year self-registration for registered users
Increased number of variables and literals from 100 to 225
Allowed "=", "THEN" and "ELSE" to improve readability
New commands: SET, ACCEPT
Now possible to trace variables by name (SET POM=var/var/var...)
SET POM=T (older versions) is now specified as SET POM=ALL
Improved documentation (more examples)
2.10 First public release
2.00 Custom version; not released to public
1.00 Custom version; not released to public